package com.bdqn.day0919.mapper;

import com.bdqn.day0919.entity.User;
import org.apache.ibatis.annotations.*;

import java.util.List;

/**
 * @Author:Corday
 * @Date:2021/09/19/8:45
 */
@Mapper
public interface UserMapper {
    //1.查询所有用户
   @Select("select * from user;")
    List<User> selectUsers();

//  2.插入单条记录,如何获取到自动生成的uid,(自动生成,数据库列,实体id)
    //插入完成后会将自增的uid反填回user对象
   @Options(useGeneratedKeys = true,keyColumn = "uid",keyProperty = "uid")
   @Insert("insert into user(name,sex) values(#{name},#{sex})")
    Integer insertUser(User user);//在里可以返回插入的记录对象的id号
//   插入多条记录,使用脚本拼接的方式实现,已经解决,注意搞清以下的格式
    @Insert({"<script>"
            +"insert into user(name,sex) values "
            + "<foreach item='u' collection='users'  separator=',' >"
            + "(#{u.name},#{u.sex})"
            +"</foreach>"
            +"</script>"})
    Integer insertUsers(@Param("users") List<User> users);

//    3.删除一条记录
    @Delete("")
     Integer deleteUser(Integer uid);
     //删除指定的多条记录101,102,105
    @Delete({"<script>"+"  "+"</script>"})
    Integer deleteUsers();

//    4.更新一条记录
    @Update("update user set sex=#{sex} where uid=#{uid}")
    Integer  updateUser(@Param("uid") Integer uid,@Param("sex") String sex);
}
